FINS Core Banking Accounts System API - Implementation Template

(0 reviews)

Data mappings

This document provides information generated from the DataWeave scripts included in the project, such as function definitions, variable definitions, and data mapping tables.

ModuleDescription
accounts-get-responseQuery Financial Account Mapping from Core Banking System This dwl file is used by endpoints get:/accounts/(accountid) & get:/accounts
accounts-patch-payloadCreate Account Mapping for Core Banking System Maps Bankspec Financial Account to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table. The fields in both CIM and Core Banking are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload.
accounts-post-payloadCreate Account Mapping for Core Banking System. Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert.
cards-get-responseQuery Financial Cards Mapping from Core Banking System This dwl file is used by endpoints get:/accounts/(accountId)/cards, get:/cards/(cardId) & get:/cards
cards-patch-payloadCreate Card Mapping for Core Banking System Maps Bankspec Financial Card to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table. The fields in both CIM and Core Banking are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload.
cards-post-payloadCreate Cards Mapping for Core Banking System. Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialCard_Upsert.
get-externalids-responseExternalIds Query Mapping for Core Banking System
transactions-get-responseGet Transactions Mapping for Core Banking System. Maps Transaction from DB to Banking Spec JSON . This dwl file is used by endpoints get:/accounts/(accountid)/transactions, get:/transactions/(transactionId) & get:/transactions
transactions-patch-payload-pending-transactionUpdate Pending Transactions Mapping for Core Banking System Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table. The fields in both BankingSpec and Core Banking are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload.
transactions-patch-payload-posted-transactionUpdate Posted Transactions Mapping for Core Banking System Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table. The fields in both BankingSpec and Core Banking are identical. PATCH payload is created by validating the Input Request payload with DB Record Payload.
transactions-post-payloadCreate Transactions Mapping for Core Banking System. Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert.
transactions-update-transactions

accounts-get-response

Query Financial Account Mapping from Core Banking System
This dwl file is used by endpoints get:/accounts/(accountid) & get:/accounts

Source: ./src/main/resources/dwl/accounts-get-response.dwl

Mapping Tables

Maps DB Fields to Banking Spec Financial Account to JSON

DB Field used by the stored procedureBanking SpecDescription
IDidflag to allow customer to return a Product
NAMEnamedescriptive name of the account
ACCOUNT_NUMBERaccountNumberaccount number
ACCOUNT_TYPEaccountTypediscriminator property set to the specific type of account by name (e.g.CheckingAccount)
ACCOUNT_STATUSaccountStatusflag to preorder the Product
ACCOUNT_BALANCEaccountBalancecurrent credit (positive) or debit (negative) balance of the account
AVAILABLE_BALANCEavailableBalanceamount of funds (or credit) available for withdrawal
ACCOUNT_CURRENCYaccountCurrencycustomer-provided nickname for the account
ACCOUNT_LABELaccountLabellabel for the Account
INTEREST_RATEinterestRateinterest rate for the amount
TAX_IDENTIFICATION_NUMBERtaxIdentificationNumberTax Identification Number associated with the account
OPENED_DATEopenedDatedate of opening the account
CLOSED_DATEclosedDatedate of Closing the account
LAST_STATEMENT_DATElastStatementDatedate the last statement was produced for this account
CREDIT_LIMITcreditLimitcredit limit for the Card
LOAN_TYPEloanTypeloan type associated with the account
ORIGINAL_LOAN_AMOUNToriginalLoanAmountloan amount of the account
LOAN_DURATION_MONTHSloanDurationMonthsloan duration for repayment
MINIMUM_PAYMENTminimumPaymentminimum payment to be made to the account
PRINCIPAL_BALANCEprincipalBalanceprincipal balance associated with the loan account
DEPOSIT_ACCOUNT_TYPEdepositAccountTypedeposit account
ROUTING_NUMBERroutingNumberBranch or routing number for the account
OVERDRAFT_LIMIToverdraftLimitIndicates the maximum deficit in an account; a value of 0.0 means no overdraft is allowed
DAILY_WITHDRAWAL_LIMITdailyWithdrawalLimitMaximum amount that can be withdrawn directly from this account per day
LAST_DEPOSIT_DATElastDepositDateDate the last deposit was made on
LAST_WITHDRAWAL_DATElastWithdrawalDateDate the last withdrawal was made on
MAXIMUM_MONTHLY_WITHDRAWALSmaximumMonthlyWithdrawalsMaximum amount that can be withdrawn directly from this account per month
MINIMUM_BALANCEminimumBalanceThe minimum amount that must be held in a Money Market account
MONTHLY_WITHDRAWAL_LIMITmonthlyWithdrawalLimitThe maximum number of withdrawals allowed per month
CUSTOMER_IDprimaryAccountOwnerReferences the primary owner of this account by their global identifier
CUSTOMER_IDsecondaryAccountOwnersReferences additional owner(s) of this account by their global identifiers
LAST_TRANSACTION_DATElastTransactionDateDate a transaction was last recorded for this account
LAST_TRANSACTION_TYPElastTransactionTypeReferences the type of transaction last recorded for this account
LAST_TRANSACTION_AMOUNTlastTransactionAmountAmount of the last transaction recorded for this account
LAST_PAYMENT_DATElastPaymentDateDate the last deposit was made on
LAST_PAYMENT_AMOUNTlastPaymentAmountAmount of the last payment made
CREATED_BYauditInfo.createdByIdentifies the system or user which created the entity
CREATED_DATEauditInfo.createdDateTimestamp of when the entity was created - default as current timestamp
UPDATED_BYauditInfo.updatedByIdentifies the system or user which last updated the entity
UPDATED_DATEauditInfo.updatedDateTimestamp of when the entity was last updated
IS_DELETEDauditInfo.isDeletedIndicates whether or not the entity has been soft-deleted - default as false

(back to top)

accounts-patch-payload

Create Account Mapping for Core Banking System
Maps Bankspec Financial Account to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table.
The fields in both CIM and Core Banking are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.

Source: ./src/main/resources/dwl/accounts-patch-payload.dwl

Variables

var payloadRecordfromDB

payloadRecordfromDB is the existing Financial Account record in Core Banking system

(back to top)

accounts-post-payload

Create Account Mapping for Core Banking System.
Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert.

Source: ./src/main/resources/dwl/accounts-post-payload.dwl

Mapping Tables

Maps Banking Spec Financial Account JSON which is used by stored procedure - sp_ContactPointAddress_Create or sp_ContactPointAddress_Update

Banking Spec fieldDB Field used in stored procedureDescription
idIDflag to allow customer to return a Product
nameNAMEdescriptive name of the account
accountNumberACCOUNT_NUMBERaccount number
accountTypeACCOUNT_TYPEdiscriminator property set to the specific type of account by name (e.g.CheckingAccount)
accountStatusACCOUNT_STATUSflag to preorder the Product
accountBalanceACCOUNT_BALANCEcurrent credit (positive) or debit (negative) balance of the account
availableBalanceAVAILABLE_BALANCEamount of funds (or credit) available for withdrawal
accountCurrencyACCOUNT_CURRENCYcustomer-provided nickname for the account
accountLabelACCOUNT_LABELlabel for the Account
interestRateINTEREST_RATEinterest rate for the amount
taxIdentificationNumberTAX_IDENTIFICATION_NUMBERTax Identification Number assoicated with the account
notesNOTESfree-form notes recorded for this account
creditLimitCREDIT_LIMITcredit limit for the Card
loanTypeLOAN_TYPEloan type associated with the account
originalLoanAmountORIGINAL_LOAN_AMOUNTloan amount of the account
loanDurationMonthsLOAN_DURATION_MONTHSloan duration for repayment
minimumPaymentMINIMUM_PAYMENTminimum payment to be made to the account
principalBalancePRINCIPAL_BALANCEprincipal balance associated with the loan account
depositAccountTypeDEPOSIT_ACCOUNT_TYPEdeposit account
routingNumberROUTING_NUMBERBranch or routing number for the account
overdraftLimitOVERDRAFT_LIMITIndicates the maximum deficit in an account; a value of 0.0 means no overdraft is allowed
lastTransactionDateLAST_TRANSACTION_DATEDate a transaction was last recorded for this account
lastTransactionTypeLAST_TRANSACTION_TYPEReferences the type of transaction last recorded for this account
lastTransactionAmountLAST_TRANSACTION_AMOUNTAmount of the last transaction recorded for this account
lastPaymentDateLAST_PAYMENT_DATEDate the last deposit was made on
lastPaymentAmountLAST_PAYMENT_AMOUNTAmount of the last payment made
dailyWithdrawalLimitDAILY_WITHDRAWAL_LIMITMaximum amount that can be withdrawn directly from this account per day
primaryAccountOwnerCUSTOMER_IDReferences the primary owner of this account by their global identifier
secondaryAccountOwnersCUSTOMER_IDReferences additional owner(s) of this account by their global identifiers
maximumMonthlyWithdrawalsMONTHLY_WITHDRAWAL_LIMITMaximum amount that can be withdrawn directly from this account per month
minimumBalanceMINIMUM_BALANCEThe minimum amount that must be held in a Money Market account
monthlyWithdrawalLimitMONTHLY_WITHDRAWAL_LIMITThe maximum number of withdrawals allowed per month
auditInfo.createdByCREATED_BYIdentifies the system or user which created the entity
auditInfo.createdDateCREATED_DATETimestamp of when the entity was created - default as current timestamp
auditInfo.updatedByUPDATED_BYIdentifies the system or user which last updated the entity
auditInfo.updatedDateUPDATED_DATETimestamp of when the entity was last updated
auditInfo.isDeletedisDeletedIndicates whether or not the entity has been soft-deleted - default as false

(back to top)

cards-get-response

Query Financial Cards Mapping from Core Banking System
This dwl file is used by endpoints get:/accounts/(accountId)/cards, get:/cards/(cardId) & get:/cards

Source: ./src/main/resources/dwl/cards-get-response.dwl

Mapping Tables

Maps DB fields to FinancialCards Banking spec JSON

Core Banking DB FieldBanking Spec FieldDescription
IDidcredit card id
NAMEnamename of credit card
CARD_TYPEcardTypetype of card - creditdebit
CARD_HOLDER_NAMEcardHolderNamename of the person holding the credit card
CARD_NUMBERcardNumber16 digit number displayed on the credit card.
CARD_PINcardPinpin of the debit card
CARD_STATUScardStatusstatus as activeinactivelocked
CARD_STATUS_CHANGED_DATEcardStatusChangedDateDate and time of the last change in card status
EXPIRY_MONTHexpiryMonthexpiry month of the credit card
EXPIRY_YEARexpiryYearexpiry year of the credit card
REPLACED_CARD_IDreplacedCardIdIdentifier of the card this one replaces
REPLACED_CARD_REASONreplacedCardReasonIndicates why this card was issued in place of a previous one
MASKED_NUMBERmaskedNumbermasked number on the credit card
CARD_TOKENcardTokentoken issued for the credit card
NUMBER_LAST_DIGITSnumberLastDigitslast 4 digits on the card
SECURITY_CODEsecurityCodesecurity code on the credit card
CREDIT_CARD_TYPEcreditCardTypecredit card type AMEXDISCOVERMASTERCARDVISA
FINANCIAL_ACCOUNT_IDaccountIdaccount Id associated with credit card
CARD_OWNER_IDcardOwnerIdIdentifier of the individual this card is owned by
CARD_OWNERSHIP_TYPEcardOwnershipTypeauthorizedotherprimary
CARD_CONTROLScardControlsList of controls applied to this card (e.g.ATM only)
DAILY_PURCHASE_LIMITdailyPurchaseLimitMaximum amount that can be purchased with this card per day; a value of 0.0 indicates there is no limit
CREATED_DATEauditInfo.createdDateTimestamp of when the entity was created - default as current timestamp
CREATED_BYauditInfo.createdByIdentifies the system or user which created the entity
UPDATED_BYauditInfo.updatedByIdentifies the system or user which last updated the entity
UPDATED_DATEauditInfo.updatedDateTimestamp of when the entity was last updated
IS_DELETEDauditInfo.isDeletedIndicates whether or not the entity has been soft-deleted - default as false

(back to top)

cards-patch-payload

Create Card Mapping for Core Banking System
Maps Bankspec Financial Card to payload which is used as input parameter in the update query of FINANCIAL_ACCOUNT table.
The fields in both CIM and Core Banking are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.

Source: ./src/main/resources/dwl/cards-patch-payload.dwl

Variables

var payloadRecordfromDB

payloadRecordfromDB is the existing Financial Card record in Core Banking system

(back to top)

cards-post-payload

Create Cards Mapping for Core Banking System.
Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialCard_Upsert.

Source: ./src/main/resources/dwl/cards-post-payload.dwl

Mapping Tables

Maps Banking Spec Financial Cards to JSON which is used by stored procedure - sp_FinancialCard_Upsert

Banking Spec FieldCore Banking DB FieldDescription
idIDcredit card id
nameNAMEname of credit card
cardTypeCARD_TYPEtype of card - creditdebit
cardHolderNameCARD_HOLDER_NAMEname of the person holding the credit card
cardNumberCARD_NUMBER16 digit number displayed on the credit card.
cardPinCARD_PINpin of the debit card
cardStatusCARD_STATUSstatus as activeinactivelocked
cardStatusChangedDateCARD_STATUS_CHANGED_DATEDate and time of the last change in card status
expiryMonthEXPIRY_MONTHexpiry month of the credit card
expiryYearEXPIRY_YEARexpiry year of the credit card
replacedCardIdREPLACED_CARD_IDIdentifier of the card this one replaces
replacedCardReasonREPLACED_CARD_REASONIndicates why this card was issued in place of a previous one
maskedNumberMASKED_NUMBERmasked number on the credit card
cardTokenCARD_TOKENtoken issued for the credit card
numberLastDigitsNUMBER_LAST_DIGITSlast 4 digits on the card
securityCodeSECURITY_CODEsecurity code on the credit card
creditCardTypeCREDIT_CARD_TYPEcredit card type AMEXDISCOVERMASTERCARDVISA
accountIdFINANCIAL_ACCOUNT_IDaccount Id associated with credit card
cardOwnerIdCARD_OWNER_IDIdentifier of the individual this card is owned by
cardOwnershipTypeCARD_OWNERSHIP_TYPEauthorizedotherprimary
cardControlsCARD_CONTROLSList of controls applied to this card (e.g.ATM only)
dailyPurchaseLimitDAILY_PURCHASE_LIMITMaximum amount that can be purchased with this card per day; a value of 0.0 indicates there is no limit
auditInfo.createdByCREATED_BYIdentifies the system or user which created the entity
auditInfo.createdDateCREATED_DATETimestamp of when the entity was created - default as current timestamp
auditInfo.updatedByUPDATED_BYIdentifies the system or user which last updated the entity
auditInfo.updatedDateUPDATED_DATETimestamp of when the entity was last updated
auditInfo.isDeletedisDeletedIndicates whether or not the entity has been soft-deleted - default as false

(back to top)

get-externalids-response

ExternalIds Query Mapping for Core Banking System

Source: ./src/main/resources/dwl/get-externalids-response.dwl

Variables

var outputPayload

outputPayload variable is the maps the result of select query on Core Banking EXTERNAL_ID table.

(back to top)

transactions-get-response

Get Transactions Mapping for Core Banking System.
Maps Transaction from DB to Banking Spec JSON .
This dwl file is used by endpoints get:/accounts/(accountid)/transactions, get:/transactions/(transactionId) & get:/transactions

Source: ./src/main/resources/dwl/transactions-get-response.dwl

(back to top)

transactions-patch-payload-pending-transaction

Update Pending Transactions Mapping for Core Banking System
Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table.
The fields in both BankingSpec and Core Banking are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.

Source: ./src/main/resources/dwl/transactions-patch-payload-pending-transaction.dwl

Variables

var payloadRecordfromDB

payloadRecordfromDB is the existing Financial Transaction record in Core Banking system

(back to top)

transactions-patch-payload-posted-transaction

Update Posted Transactions Mapping for Core Banking System
Maps Banking spec Financial Transaction to payload which is used as input parameter in the update query of FINANCIAL_TRANSACTION table.
The fields in both BankingSpec and Core Banking are identical.
PATCH payload is created by validating the Input Request payload with DB Record Payload.

Source: ./src/main/resources/dwl/transactions-patch-payload-posted-transaction.dwl

Variables

var payloadRecordfromDB

payloadRecordfromDB is the existing Financial Transaction record in Core Banking system

(back to top)

transactions-post-payload

Create Transactions Mapping for Core Banking System.
Maps Banking Spec Account JSON to JSON which is used by stored procedure sp_FinancialAccount_Upsert.

Source: ./src/main/resources/dwl/transactions-post-payload.dwl

(back to top)

transactions-update-transactions

Source: ./src/main/resources/dwl/transactions-update-transactions.dwl

Variables

var s

Maps DB Fields to FinancialTransaction Banking spec JSON

Mapping Tables

Maps DB Fields to FinancialTransaction Banking spec JSON

Core Banking DB FieldBanking Spec FieldDescription
IDidtransaction id
NAMEnamename related to the transaction
DESCRIPTIONdescriptiondescription about the transaction
TRANSACTION_AMOUNTtransactionAmountamount for the transaction
TRANSACTION_TYPEtransactionTypediscriminator property set to the specific type of transaction by name (e.g.CreditTransaction)
TRANSACTION_STATUStransactionStatustransaction status such as CLEAREDHOLDPENDINGPOSTED
TRANSACTION_DATEtransactionDatedate on which this transaction was recorded in the system
ACCOUNT_BALANCEaccountCurrentBalanceaccount balance in financial account
AVAILABLE_BALANCEaccountAvailableBalanceavailable balance in financial account
POSTED_DATEpostedDatethe date on which transaction actually reflected in the account

(back to top)


Reviews

TypeTemplate
OrganizationMulesoft
Published by
MuleSoft Organization
Published onDec 13, 2023
Asset overview

Asset versions for 1.5.x

Asset versions
VersionActions
1.5.3